package com.lw.leetcode.bit;


import java.io.File;

/**
 * 1442. 形成两个异或相等数组的三元组数目
 *
 * @Author liw
 * @Date 2021/5/18 9:01
 * @Version 1.0
 */
public class CountTriplets {

    public static void main(String[] args) {

        String path = "C:\\lw\\project\\other\\123.java.class";
        String name = "333.java";
        FixFileName(path, name);
//        for (int i = 0; i < 1000; i++) {
//            System.out.println(System.getProperty("user.dir"));
//            try {
//                Thread.sleep(1000);
//            } catch (InterruptedException e) {
//                e.printStackTrace();
//            }
//            System.out.println(find((int) (Math.random() * 10000)));
//        }
    }

    private static int find(int n) {
        if (n < 2) {
            return n;
        }
        return n + find(n - 1);
    }


    /**
     * 通过文件路径直接修改文件名
     *
     * @param filePath    需要修改的文件的完整路径
     * @param newFileName 需要修改的文件的名称
     * @return
     */
    private static String FixFileName(String filePath, String newFileName) {
        String pathSeparator = File.separator;
        File f = new File(filePath);
        // 判断原文件是否存在（防止文件名冲突）
        if (!f.exists()) {
            return null;
        }
        // 文件名不能为空
        if (newFileName == null || "".equals(newFileName.trim())) {
            return null;
        }
        newFileName = newFileName.trim();
        String newFilePath = null;
        if (f.isDirectory()) { // 判断是否为文件夹
            newFilePath = filePath.substring(0, filePath.lastIndexOf(pathSeparator)) +pathSeparator + newFileName;
        } else {
            newFilePath = filePath.substring(0, filePath.lastIndexOf(pathSeparator)) + pathSeparator + newFileName;
        }
        File nf = new File(newFilePath);

        try {
            // 修改文件名
            f.renameTo(nf);
        } catch (Exception err) {
            err.printStackTrace();
            return null;
        }
        return newFilePath;
    }

}
